home *** CD-ROM | disk | FTP | other *** search
Modula Definition | 1985-05-30 | 4.3 KB | 92 lines |
-
-
- (************************************************************************)
- (* *)
- (* Requires MRI Modula2 *)
- (* *)
- (* Strlib: *)
- (* Library module to handle strings. Included is *)
- (* terminal I/O, string length, assignment, conc- *)
- (* atention, insertion, deletion, alteration and *)
- (* the ability to select portions of a string. *)
- (* *)
- (* Verson : *)
- (* 1.0 ; November 16, 83 ; Namir C. Shammas *)
- (* 1.1 ; November 21, 84 ; Walter Maner *)
- (* *)
- (************************************************************************)
-
-
- DEFINITION MODULE Strlib;
-
- EXPORT QUALIFIED Len,StringIs,ShowString,StringAdd,StringDelete,StringPos,
- StringLeft,StringRight,StringMid,StringRemove,StringInsert,
- StringReplace,StringChange,StringAlter,InputString,eos;
-
- CONST
- (* End Of String *)
- eos = 0C;
-
- PROCEDURE Len(Str : ARRAY OF CHAR):CARDINAL;
- (* Obtain the number of characters in a string. *)
-
- PROCEDURE StringIs (VAR Str1 : ARRAY OF CHAR; Str2 : ARRAY OF CHAR);
- (* Assign an array of characters appended by an eos. *)
-
- PROCEDURE ShowString(Str : ARRAY OF CHAR );
- (* Display the string *)
-
- PROCEDURE StringAdd (VAR Str1 : ARRAY OF CHAR; Str2 : ARRAY OF CHAR );
- (* Concatenate string Str2 to Str1 *)
-
- PROCEDURE StringDelete(VAR Str : ARRAY OF CHAR ; First,Last : CARDINAL);
- (* Delete a portion of a string STARTING at 'Fisrt' and ENDING at
- 'Last' (included) *)
-
- PROCEDURE StringPos(Str1,Str2 : ARRAY OF CHAR ; Start : CARDINAL):CARDINAL;
- (* Function that returns the position of 'sub-string' Str2 in string
- Str1. The search begins at position 'Start'. *)
-
- PROCEDURE StringLeft(VAR Str1 : ARRAY OF CHAR ;
- Str2 : ARRAY OF CHAR; Count : CARDINAL);
- (* Pick the 'Count' leftmost characters of string Str2 and store it in
- string Str1. *)
-
- PROCEDURE StringRight(VAR Str1 : ARRAY OF CHAR ;
- Str2 : ARRAY OF CHAR; Count : CARDINAL);
- (* Pick the 'Count' rightmost characters of string Str2 and store it in
- string Str1. *)
-
- PROCEDURE StringMid(VAR Str1 : ARRAY OF CHAR ;
- Str2 : ARRAY OF CHAR; Start, Count : CARDINAL);
- (* Pick 'Count' characters starting at position 'Start' in string
- Str2 and store it in string Str1. *)
-
- PROCEDURE StringRemove(VAR Str1 : ARRAY OF CHAR; Str2 : ARRAY OF CHAR);
- (* Remove ALL occurences of sub-string Str2 in string Str1 and update
- the latter string . *)
-
- PROCEDURE StringInsert(VAR Str1 : ARRAY OF CHAR; Str2 : ARRAY OF CHAR;
- Start : CARDINAL);
- (* Insert sub-string Str2 in string Str1 at position 'Start'. The
- characters at position 'Start' and above are moved. *)
-
- PROCEDURE StringReplace(VAR Str1 : ARRAY OF CHAR; Str2,Str3 : ARRAY OF CHAR);
- (* Replace ALL occurences of sub-string Str2 with sub-string Str3 in the
- string Str1. *)
-
- PROCEDURE StringChange(VAR Str1 : ARRAY OF CHAR; Str2,Str3 : ARRAY OF CHAR;
- Start,Repeat:CARDINAL);
- (* Replace 'Repeat' times the occurence of sub-string Str2 by Str3 in
- string Str1. The action taken starts at position 'Start'. *)
-
- PROCEDURE StringAlter(VAR Str1 : ARRAY OF CHAR; Str2 : ARRAY OF CHAR;
- Start : CARDINAL);
- (* This procedure overwrites the portions of string Str1 starting at
- position 'Start' and for the length of sub-string Str2. *)
-
- PROCEDURE InputString (VAR Str : ARRAY OF CHAR);
- (* Read string from ketboard. *)
-
- END Strlib.